﻿using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;

namespace Client.Control {
    /// <summary>
    /// Cricle.xaml 的交互逻辑
    /// </summary>
    public partial class Circle : Label {
        public Circle() {
            InitializeComponent();
            
        }

        public static readonly DependencyProperty IconProperty = DependencyProperty.Register("Icon", typeof(ImageSource), typeof(Circle), null);
       public static readonly DependencyProperty SideIconProperty = DependencyProperty.Register("SideIcon", typeof(ImageSource), typeof(Circle), null);
        public static readonly DependencyProperty IsSideProperty = DependencyProperty.Register("IsSide", typeof(bool), typeof(Circle), null);
        public static readonly DependencyProperty IsRunProperty = DependencyProperty.Register("IsRun", typeof(bool), typeof(Circle), null);
        public static readonly DependencyProperty ProgressProperty = DependencyProperty.Register("Progress", typeof(string), typeof(Circle), null);
        public static readonly DependencyProperty TaskTypeProperty = DependencyProperty.Register("TaskType", typeof(TaskType), typeof(Circle), null);
        public static readonly DependencyProperty BorderWidthProperty = DependencyProperty.Register("BorderWidth", typeof(Thickness), typeof(Circle), null);
        public static readonly DependencyProperty BluePointVisibilityProperty = DependencyProperty.Register("BluePointVisibility", typeof(Visibility), typeof(Circle), null);

        public ImageSource Icon {
            get { return (ImageSource)GetValue(IconProperty); }
            set { SetValue(IconProperty, value); }
        }
        public ImageSource SideIcon {
            get { return (ImageSource)GetValue(SideIconProperty); }
            set { SetValue(SideIconProperty, value); }
        }
        public bool IsSide {
            get { return (bool)GetValue(IsSideProperty); }
            set { SetValue(IsSideProperty, value); }
        }
        public bool IsRun {
            get { return (bool)GetValue(IsRunProperty); }
            set { SetValue(IsRunProperty, value); }
        }
        public string Progress {
            get { return (string)GetValue(ProgressProperty); }
            set { SetValue(ProgressProperty, value); }
        }
        public TaskType TaskType {
            get { return (TaskType)GetValue(TaskTypeProperty); }
            set { SetValue(TaskTypeProperty, value); }
        }
        public Thickness BorderWidth {
            get { return (Thickness)GetValue(BorderWidthProperty); }
            set { SetValue(BorderWidthProperty, value); }
        }
        public Visibility BluePointVisibility {
            get { return (Visibility)GetValue(BluePointVisibilityProperty); }
            set { SetValue(BluePointVisibilityProperty, value); }
        }

    }

    public enum TaskType {
        Word = 0,
        Excel = 1,
        Pdf = 2
    }
}
